<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html 
xmlns="http://www.w3.org/1999/xhtml" 
xmlns:xlink="http://www.w3.org/1999/xlink"
>
<body>
  <svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
    <rect width="100" height="100" fill="blue" />
    <rect id="rect" width="100" height="100" fill="red" />
 </svg>
 
<div id="log"></div>
<script type="text/javascript"><![CDATA[

  if (window.testRunner)
    testRunner.dumpAsText();

  function debugLog(s) {
    var logDiv = document.getElementById("log");
    logDiv.appendChild(document.createTextNode(s));
    logDiv.appendChild(document.createElementNS("http://www.w3.org/1999/xhtml", "br"));
  }

  var rect = document.getElementById("rect");
  var x1 = rect.x;
  var x2 = rect.x;
  
  debugLog("x1: " + x1);
  debugLog("x2: " + x2);
  debugLog("x1.baseVal : " + x1.baseVal);
  debugLog("x2.baseVal : " + x2.baseVal);
  debugLog("x1.baseVal.value : " + x1.baseVal.value);
  debugLog("x2.baseVal.value : " + x2.baseVal.value);
  debugLog("x1 == x2: " + (x1 == x2));
  debugLog("x1 === x2: " + (x1 === x2));
  debugLog("x1.baseVal == x2.baseVal: " + (x1.baseVal == x2.baseVal));
  debugLog("x1.baseVal === x2.baseVal: " + (x1.baseVal === x2.baseVal));
  
  x1.baseVal.value = 100;
  
  debugLog("x1: " + x1);
  debugLog("x2: " + x2);
  debugLog("x1.baseVal : " + x1.baseVal);
  debugLog("x2.baseVal : " + x2.baseVal);
  debugLog("x1.baseVal.value : " + x1.baseVal.value);
  debugLog("x2.baseVal.value : " + x2.baseVal.value);
  debugLog("x1 == x2: " + (x1 == x2));
  debugLog("x1 === x2: " + (x1 === x2));
  debugLog("x1.baseVal == x2.baseVal: " + (x1.baseVal == x2.baseVal));
  debugLog("x1.baseVal === x2.baseVal: " + (x1.baseVal === x2.baseVal));
  
]]></script>
</body>
</html>
